Towards an Operational Semantics for a Parallel Non-Strict Functional Language
نویسندگان
چکیده
Parallel programs must describe both computation and coordination , i.e. what to compute and how to organize the computation. In functional languages equational reasoning is often used to reason about computation. In contrast, there have been many diierent coordination constructs for functional languages, and far less work on reasoning about coordination. We present an initial semantics for GpH, a small extension of the Haskell language, that allows us to reason about coordination. In particular we can reason about work, average parallelism and runtime. The semantics captures the notions of limited (physical) resources, the preservation of sharing, and speculative evaluation. We show a consistency result with Launchbury's well-known lazy semantics.
منابع مشابه
Semantics of Barriers in a Non-strict, Implicitly-parallel Language Semantics of Barriers in a Non-strict, Implicitly-parallel Language
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers in...
متن کاملSemantics of Barriers in a Non - Strict ,
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper, we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers i...
متن کاملUsing Maude and Its Strategies for Defining a Framework for Analyzing Eden Semantics
Eden is a parallel extension of the functional language Haskell. On behalf of parallelism Eden overrides Haskell’s pure lazy approach, combining a non-strict functional application with eager process creation and eager communication. We desire to investigate alternative semantics for Eden in order to analyze the consequences of some of the decisions adopted during the language design. In this p...
متن کاملBasic Pattern Matching Calculi: Syntax, Reduction, Confluence, and Normalisation
The pattern matching calculus is a refinement of λ-calculus that integrates mechanisms appropriate for fine-grained modelling of non-strict pattern matching. In comparison with the functional rewriting strategy that is usually employed to define the operational semantics of pattern-matching in non-strict functional programming languages like Haskell or Clean, the pattern matching calculus allow...
متن کاملFUNDIO: A Lambda-Calculus With letrec, case, Constructors, and an IO-Interface: Approaching a Theory of unsafePerformIO Technical Report Frank-16
This paper proposes a non-standard way to combine lazy functional languages with I/O. In order to demonstrate the usefulness of the approach, a tiny lazy functional core language “FUNDIO”, which is also a call-by-need lambda calculus, is investigated. The syntax of “FUNDIO” has case, letrec, constructors and an IO-interface: its operational semantics is described by small-step reductions. A con...
متن کامل